feat: added support for hostname method in z.string() #3589 #3692
+109
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added support for the hostname method in z.string() for enhanced string validation. This feature introduces a dedicated method to validate domain names, including Punycode, as well as IPv4 and IPv6 addresses(in square brackets). The new validation method ensures that valid hostnames meet the appropriate criteria and excludes invalid patterns.
This implementation was done for ticket #3589.
Changes:
Implemented the hostname method to validate:
Domain names, including those encoded in Punycode.
IPv4 addresses.
IPv6 addresses enclosed in square brackets.
Updated regex patterns to accurately handle valid and invalid hostname cases.
Added comprehensive test cases to ensure robustness and correctness of the new validation method.
Updated documentation to include details about the hostname method and usage examples.